package view;

import org.uqbar.arena.actions.MessageSend;
import org.uqbar.arena.aop.windows.TransactionalDialog;
import org.uqbar.arena.widgets.Button;
import org.uqbar.arena.widgets.Panel;
import org.uqbar.arena.widgets.tables.Column;
import org.uqbar.arena.widgets.tables.Table;
import org.uqbar.arena.windows.WindowOwner;

import ApplicationModels.VerHorariosAppModel;
import Domain.Asignacion;


@SuppressWarnings("serial")
public class VerHorariosWindow extends TransactionalDialog<VerHorariosAppModel> {

	public VerHorariosWindow(WindowOwner parent, VerHorariosAppModel model) {
		super(parent, model);
		// TODO Auto-generated constructor stub
	}

	@Override
	protected void addActions(Panel actionsPanel) {
		new Button(actionsPanel).setCaption("Cerrar").onClick(
				new MessageSend(this, "close"));
	}

	@Override
	protected void createFormPanel(Panel mainPanel) {
		this.grillaResultados(mainPanel);
	}

	protected void grillaResultados(Panel mainPanel) {
		Table<Asignacion> table = new Table<Asignacion>(mainPanel,
				Asignacion.class);

		table.setHeigth(250);
		table.setWidth(450);

		table.bindItemsToProperty("planificacionActual.asignaciones");
		
		this.descripcionGrilla(table);
	}

	protected void descripcionGrilla(Table<Asignacion> table) {
		new Column<Asignacion>(table)
				//
				.setTitle("Nombre y Apellido").setFixedSize(150)
				.bindContentsToProperty("empleado.nombreYApellido");

		new Column<Asignacion>(table)
				//
				.setTitle("Entrada").setFixedSize(100)
				.bindContentsToProperty("turno.desde");

		new Column<Asignacion>(table)
				//
				.setTitle("Salida").setFixedSize(100)
				.bindContentsToProperty("turno.hasta");

	}

}
